package com.hgw.Demo11_VisitorPattern.VisitorPattern;

import java.util.ArrayList;
import java.util.Iterator;

/**
 * Data time:2021/12/21 20:13
 * StudentID:2019112118
 * Author:hgw
 * Description: 对象结构
 */
public class ObjectStructure {
    private ArrayList<Element> list = new ArrayList<Element>(); //定义一个集合用于存储元素对象

    // 接受访问者的访问操作
    public void accept(Visitor visitor) {
        Iterator<Element> iterator = list.iterator();

        while (iterator.hasNext()) {
            iterator.next().accept(visitor);    // 遍历访问集合中的每一个元素
        }
    }

    public void addElement(Element element) {
        list.add(element);
    }

    public void removeElement(Element element) {
        list.remove(element);
    }
}
